full frame background themes + transparency toggle - #30
Conversation
…ggle - Add theme appearance metadata (`dark`/`light`) during theme generation and persist per-theme appearance for dialog filtering and dark-mode defaults. - Solidify imported/generated theme backgrounds by replacing transparent/semi-transparent values with opaque colors to keep default canvas rendering consistent. - Add `/themes` runtime background transparency toggle (`ctrl+t`) with persisted user preference and dialog state rollback/commit handling. - Sync app rendering to `Color::Reset`/opaque canvas behavior and derive theme mode from selected theme appearance for correct light/dark slot usage.
…hemes
Dual-mode themes that declare distinct dark/light palettes now emit a `{id}-light.json` sibling with `appearance: "light"` so the `/themes` selector can filter and pick the light palette independently. Fake dual-modes (identical dark↔light values) are skipped. The gen-themes script also auto-updates `BUNDLED_THEMES` in `src/theme.rs`.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
PR Review — feat/full-frame-bg-themes → mainMerge confidence: 5/5
Body (paste-ready)Solidifies theme backgrounds by default (OpenCode-style full-frame canvas), adds per-theme Summary of changes
Checks run (non-mutating)
question_dialog note: those 9 tests call Regressions?No blocking regressions. Confirmed intentional:
Lower risk / worth watching:
Migrations?No schema migration required.
Checklist before merge
Confidence bumpsAuthor smoke + intentional
|
dark/light) during theme generation and persist per-theme appearance for dialog filtering and dark-mode defaults./themesruntime background transparency toggle (ctrl+t) with persisted user preference and dialog state rollback/commit handling. - Sync app rendering toColor::Reset/opaque canvas behavior and derive theme mode from selected theme appearance for correct light/dark slot usage.